The process of transmitting digital television signals, whether terrestrially or over cable, involves digitizing, compressing, and multiplexing video and audio signals into a single bit-stream before transmitting them. The bandwidth in a typical terrestrial broadcast is wide enough to transmit a number of compressed digitized television channels over the same bit-stream. Additionally, data such as, weather reports, stock prices, news, pay-per-view information, and classified advertisements may be multiplexed into the bit-stream.
Because the bit-stream contains a variety of information, there must be a way for the receiving end to know the content of the bit-stream. Therefore, Program and System Information Protocol (PSIP) tables are multiplexed into the bit-stream to describe both system information and event information of the signal within the bit-stream. System information allows navigation and access to each of the television channels within the bit-stream. Event (or program guide) information describes content information for browsing and selection. The Program and System Information Protocol (PSIP) describes a protocol for transmission of a collection of such data tables within the bit-stream. (See, e.g., the specification entitled, “Program and System Information Protocol for Terrestrial Broadcast and Cable”, Advanced Television System Committee, Document A65, Dec. 23, 1997).
Some examples of the tables are the System Time Table (STT) which carries time information needed for an application requiring synchronization. The Master Guide Table (MGT) lists version numbers, length in bytes, and Packet Identifiers (PIDs) for all of the PSIP tables except the System Time Table. The Virtual Channel Table (VCT) contains a list of attributes for all channels carried in the bit-stream. This table has a terrestrial version (TVCT) and a cable version (CVCT). The Rating Region Table (RRT) carries rating information, e.g., G, PG, R, etc. for various geographic regions. The Event Information Table (EIT) contains information regarding events on channels in the bit-stream, such as titles and start times. The Extended Text Table (ETT) contains detailed information about channels and events in the bit-stream.
When one device in a digital television receiving system needs information about the bit-stream from another device, it issues a Direct Select Data (DSD) command. This command is part of the AV/C (Audio Video Control) Tuner Model and Command Set Specification and allows event and navigational information provided by the service providers to be understood. The information includes the tables discussed above.
In particular, the DSD command has a dsd_selection_specification[n] field, which is used to specify which table is to be accessed. FIG. 1 illustrates a dsd_selection specification[n] field 200. The byte at offset 00 comprises flags 251. When a flag 251 is set, the value in the associated attribute field 260, is valid. For example, when the table_id flag 252 is set, the associated table_id attribute field 262 contains a valid table_id. If the table_id flag 252 is not set, then whatever value that may be in the table_id attribute field 262 is invalid, but a space is nevertheless reserved for it. The same applies to the flags 254-258 and their respective associated attribute fields 264-271.
For the issuing device to request the MGT, TVCT, CVCT, or STT table, the table_id flag 252 is set and the table_id is specified in the table_id attribute field 262. Selecting the Rating Regions table is accomplished by setting the table_id flag 252 and rating region 256 flag, as well as specifying the table_id 262 and the rating_region 267. Selecting the Event Information Table is accomplished by setting the table_id flag 252 and source_id flag 254, as well as specifying the table_id attribute 262 and the source_id attributes 264-265. Selecting the Extended Text Table is accomplished by setting the table_id flag 252 and ETM_id flag 258, as well as specifying the table_id attribute 262 and the ETM_id attributes 268-271.
The issuer of the DSD command requests just one table at a time. Therefore, a separate command 200 must be issued for each table. Unfortunately, many bytes in the DSD command data structure are not used. For example, when the issuer requests an event information table, attribute fields 266-271 are not used at all. Therefore, the command structure 200 is inefficient, and many of these command structures are issued during the normal course of system activity. Consequently, memory space on the devices is wasted. Additionally, bandwidth is wasted transmitting a command 200 with bytes that have no meaning or use.